#ifndef _FIG_ENEMY_TRANSFROMENEMY_H_
#define _FIG_ENEMY_TRANSFROMENEMY_H_


#include "fig_enemy_craft.h"
#include "fig_flyingpath.h"
#include "fig_level.h"
#include "fig_bone_object.h"

#include "ui/ui_manager.h"


class FIGTransformEnemy : public FIGEnemyCraft
{
public:



	FIGTransformEnemy(FIGEnemyCraft::ENEMY_TYPES EnemyType);


	
	virtual void									Tick(float dt);
	virtual void									ReSpawn();
	virtual void									Render(const math::Vec2& Offset,float Scale);
	virtual void									RenderShadow(const math::Vec2& Offset,float Scale);
	virtual bool									HitTest(FIGBullet* pBullet);
	virtual bool									HitTest(FIGLifeObj* pCraft);
	virtual bool									HitTest(const math::Vec2& Point);

	virtual	bool									IsReadyToSpawn();
	virtual const math::Vec2&						GetSize(){ return m_Bone.GetSize(); };
	

protected:

	
	
	virtual void									OnExplode();

	virtual void									OnShoot();
	virtual void									OnShootStyle1();
	virtual void									OnShootStyle2();
	virtual void									OnShootStyle3();
	virtual void									OnShootStyle4();

	bool											m_bShouldTakeLessDamage;
	int												m_ShootStyleIndex;
	FIGBoneObject									m_Bone;
	
	

};

#endif
